package pagecode.template;

import java.util.Date;

import javax.faces.component.html.HtmlForm;
import javax.faces.component.html.HtmlOutputText;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;

import model.cargarDatos.ReprocesarCargaIniModel;
import model.cargarDatos.ReprocesarCargaModel;
import model.consultas.CabeceraConsultaModel;
import model.mantenimiento.OficinaModel;
import pagecode.PageCodeBase;

//import com.ibm.faces.component.html.HtmlScriptCollector;
import com.stefanini.pe.bbva.mbl.in.utils.Constantes;
import com.stefanini.pe.bbva.mbl.in.bo.iface.ConfiguracionarchivoBO;
import com.stefanini.pe.bbva.mbl.in.listeners.SpringInit;

public class PConsultaIni extends PageCodeBase {

	protected ReprocesarCargaIniModel reprocesarCargaModel;
	protected CabeceraConsultaModel cabeceraConsultaModel;
	protected OficinaModel oficinaModel;
//	protected HtmlScriptCollector scriptCollector1;
	protected HtmlForm form1;
	protected HtmlOutputText lblUsuario1;
	protected HtmlOutputText lblUsuario;
	protected HtmlOutputText lblFechaPrincipal;
	protected HtmlOutputText lblCerrarSesion;
	protected HtmlOutputText lblTitulo;
	protected HtmlOutputText txthplRegresar;
	private String estadoReproceso;
	private String styleReproceso;
	private String imageColor;
	private Date date;
	private static Logger logger = Logger.getLogger(PConsultaIni.class);
	
//	protected HtmlScriptCollector getScriptCollector1() {
//		if (scriptCollector1 == null) {
//			scriptCollector1 = (HtmlScriptCollector) findComponentInRoot("scriptCollector1");
//		}
//		return scriptCollector1;
//	}
	protected HtmlForm getForm1() {
		if (form1 == null) {
			form1 = (HtmlForm) findComponentInRoot("form1");
		}
		return form1;
	}
	protected HtmlOutputText getLblUsuario1() {
		if (lblUsuario1 == null) {
			lblUsuario1 = (HtmlOutputText) findComponentInRoot("lblUsuario1");
		}
		return lblUsuario1;
	}
	protected HtmlOutputText getLblUsuario() {
		if (lblUsuario == null) {
			lblUsuario = (HtmlOutputText) findComponentInRoot("lblUsuario");
		}
		return lblUsuario;
	}
	protected HtmlOutputText getLblFechaPrincipal() {
		if (lblFechaPrincipal == null) {
			lblFechaPrincipal = (HtmlOutputText) findComponentInRoot("lblFechaPrincipal");
		}
		return lblFechaPrincipal;
	}
	protected HtmlOutputText getLblCerrarSesion() {
		if (lblCerrarSesion == null) {
			lblCerrarSesion = (HtmlOutputText) findComponentInRoot("lblCerrarSesion");
		}
		return lblCerrarSesion;
	}
	protected HtmlOutputText getLblTitulo() {
		if (lblTitulo == null) {
			lblTitulo = (HtmlOutputText) findComponentInRoot("lblTitulo");
		}
		return lblTitulo;
	}
	protected HtmlOutputText getTxthplRegresar() {
		if (txthplRegresar == null) {
			txthplRegresar = (HtmlOutputText) findComponentInRoot("txthplRegresar");
		}
		return txthplRegresar;
	}
	/**
	 * @return Returns the areaModel.
	 */
	/*
	 * @return Returns the cabeceraConsultaModel.
	 */
	public CabeceraConsultaModel getCabeceraConsultaModel() {
		if (cabeceraConsultaModel == null) {
			cabeceraConsultaModel = (CabeceraConsultaModel) getFacesContext().getApplication().createValueBinding("#{cabeceraConsultaModel}").getValue(getFacesContext());
		}
		return cabeceraConsultaModel;
	}
	/**
	 * @param cabeceraConsultaModel The cabeceraConsultaModel to set.
	 */
	public void setCabeceraConsultaModel(
			CabeceraConsultaModel cabeceraConsultaModel) {
		this.cabeceraConsultaModel = cabeceraConsultaModel;
	}
	/**
	 * @return Returns the clienteModel.
	 */
	
	public OficinaModel getOficinaModel() {
		if (oficinaModel == null) {
			oficinaModel = (OficinaModel) getFacesContext().getApplication().createValueBinding("#{oficinaModel}").getValue(getFacesContext());
		}
		return oficinaModel;
	}
	/**
	 * @param oficinaModel The oficinaModel to set.
	 */
	public void setOficinaModel(OficinaModel oficinaModel) {
		this.oficinaModel = oficinaModel;
	}
	
	public ReprocesarCargaIniModel getReprocesarCargaModel() {
		if (reprocesarCargaModel == null) {
			reprocesarCargaModel = (ReprocesarCargaIniModel) getFacesContext().getApplication().createValueBinding("#{reprocesarCargaIniModel}").getValue(getFacesContext());
		}
		return reprocesarCargaModel;
	}
	
	public void setReprocesarCargaModel(ReprocesarCargaIniModel reprocesarCargaModel) {
		this.reprocesarCargaModel = reprocesarCargaModel;
	}
	
	public String doBtnCerrarSessionAction(){
		try {
			this.setCabeceraConsultaModel(null);
			this.setOficinaModel(null);
			this.setReprocesarCargaModel(null);
			HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
			session.removeAttribute("NombreUsuarioSesion"); 
			if (session != null) {
			    session.invalidate();
			}
			//Inicio
			return "cerraSesion";
			//Fin
		}catch (Exception e) {
            e.printStackTrace();
		}
		return "cerrarsession";
		
	}
	
	public String doBtnCambioclave(){
		try {
			/*
			this.setCabeceraConsultaModel(null);
			this.setOficinaModel(null);
			this.setReprocesarCargaModel(null);
			HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
			session.removeAttribute("NombreUsuarioSesion"); 
			if (session != null) {
			    session.invalidate();
			}
			*/
			return "cambiarClave";
		}catch (Exception e) {
            e.printStackTrace();
		}
		return "cambiarClave";
		
	}
	
	public String doBtnRegresarAction(){
		return "regresar";		
	}
	
	public Date getDate() {
		return new Date();
	}
	public void setDate(Date date) {
		this.date = date;
	}
	
	public String getEstadoReproceso() {
		try{
			ConfiguracionarchivoBO reprocesarService = null;
			reprocesarService = (ConfiguracionarchivoBO)SpringInit.getApplicationContext().getBean("configuracionArchivoCargaIniService");

			if(((String)reprocesarService.consultarEstadoReproceso().get(1)).equals("0")) {
				this.setStyleReproceso("color:White; text-decoration: none");
				this.setImageColor(Constantes.CONTEXT_PATH + "/images/orange.JPG");
			}
			else if(((String)reprocesarService.consultarEstadoReproceso().get(1)).equals("1")){
				 this.setStyleReproceso("color:White; text-decoration: none");
				 this.setImageColor(Constantes.CONTEXT_PATH + "/images/red.JPG");
			}
			else if(((String)reprocesarService.consultarEstadoReproceso().get(1)).equals("2")){
				this.setStyleReproceso("color:White; text-decoration: none");
				this.setImageColor(Constantes.CONTEXT_PATH + "/images/green.JPG");
			}
			else{
				this.setStyleReproceso("color:White; text-decoration: none");
				this.setImageColor(Constantes.CONTEXT_PATH + "/images/griss.JPG");
			}	
		}catch(Exception ex){
			logger.error("Ocurrio un error al obtener el Estado del Reproceso");
			logger.error(ex.getMessage(), ex);
			
		}
		
		
		return "";
	}
	
	public String getStyleReproceso() {
		return styleReproceso;
	}
	
	public void setStyleReproceso(String styleReproceso) {
		this.styleReproceso = styleReproceso;
	}
	
	public String getImageColor() {
		return imageColor;
	}
	
	public void setImageColor(String imageColor) {
		this.imageColor = imageColor;
	}
}